package com.easylinkin.linkappapi.shigongyun.service;

import com.easylinkin.linkappapi.machinery.dto.MachineryIotDeviceDto;
import com.easylinkin.linkappapi.machinery.vo.MachineryDeviceVo;
import java.util.List;
import site.morn.rest.RestMessage;

/**
 * @author zhengwen
 */
public interface MachineryMonitorBiService {
    /**
     * 根据条件获取机械设备信息
     *
     * @param machineryDeviceVo 机械设备条件vo
     * @return 机械设备信息
     */
    List<MachineryIotDeviceDto> queryMachineryDevices(MachineryDeviceVo machineryDeviceVo);

    /**
     * 获取机械Iot设备类型告警数量统计
     *
     * @param machineryDeviceVo 机械设备条件vo
     * @return 机械Iot设备类型告警数量统计
     */
    RestMessage countMachineryWarnGroupType(MachineryDeviceVo machineryDeviceVo);

    /**
     * 获取机械Iot设备告警数量统计时间分组
     *
     * @param machineryDeviceVo 机械设备条件vo
     * @return 机械Iot设备类型告警数量统计
     */
    RestMessage countMachineryWarnByDay(MachineryDeviceVo machineryDeviceVo);

    /**
     * 获取机械Iot设备今日运行次数统计
     *
     * @param machineryDeviceVo 机械设备条件vo
     * @return 机械Iot设备今日运行次数统计
     */
    RestMessage countMachineryOperationToday(MachineryDeviceVo machineryDeviceVo);

    RestMessage countMachineryOperation(MachineryDeviceVo machineryDeviceVo);

    List<MachineryIotDeviceDto> selectMachineryAndDeviceByCondition(MachineryDeviceVo machineryDeviceVo);
}
